#ifndef _XMLHASH_S_H
#define _XMLHASH_S_H

typedef struct
{
    char dialrule[32];
    char account[32];
    char index[32];
}Dialrule_st2;

typedef struct
{
    char number[32];
    char account[32];
    char index[32];
}Limitnum_st2;

int xmlhash_init(int nDevType);
int xmlhash_gets(const char * xmlfilename, const char * xpath, char * szValue, int nMaxLen, const char * szValueDefault);
int xmlhash_sets(const char * xmlfilename, const char * xpath, char * szValue, int nDelaySave);
int xmlhash_getn(const char * xmlfilename, const char * xpath, int *pValue, int *nValueDefault);
int xmlhash_setn(const char * xmlfilename, const char * xpath, int nValue, int nDelaySave);
int xmlhash_get_attr_dialrule(const char* xmlfilename,    const char* xpath, Dialrule_st2* pst_dialrule, int nMaxLen);
int xmlhash_get_attr_limitNumber(const char* xmlfilename, const char* xpath, Limitnum_st2* pst_limitnum, int nMaxLen);
int xmlhash_getattr(const char *xmlfile, const char *nodepath, const char *szAttrName, char *szAttrValue, int nLen);
int xmlhash_setattr(const char *xmlfile, const char *nodepath, const char *szAttrName, char *szAttrValue, int nSaveDelay);

int xmlhash_replace(const char *szXmlfile_Old, const char *xmlfile_tmp, const char *xmlfile_config);
int xmlhash_reload();



#endif
